//package com.ruoyi.common.filter;
//
//import org.apache.ibatis.executor.Executor;
//import org.apache.ibatis.mapping.BoundSql;
//import org.apache.ibatis.mapping.MappedStatement;
//import org.apache.ibatis.plugin.*;
//import org.springframework.stereotype.Component;
//
//import java.util.Map;
//
//@Intercepts({
//        @Signature(type = Executor.class, method = "update", args = {MappedStatement.class, Object.class}),
//})
//@Component
//public class SM4EncryptInterceptor2 implements Interceptor {
//    @Override
//    public Object intercept(Invocation invocation) throws Throwable {
//        // 获取MappedStatement对象
//        MappedStatement mappedStatement = (MappedStatement) invocation.getArgs()[0];
//        // 获取参数对象
//        Object parameterObject = invocation.getArgs()[1];
//
//        // 获取BoundSql对象
//        BoundSql boundSql = mappedStatement.getBoundSql(parameterObject);
//        // 获取SQL语句
//        String sql = boundSql.getSql();
//        // 获取参数映射
//        Map<String, Object> parameterMap = (Map<String, Object>) boundSql.getParameterObject();
//
//        // 输出SQL语句和参数
//        System.out.println("修改时SQL: " + sql);
//        for (Map.Entry<String, Object> entry : parameterMap.entrySet()) {
//            System.err.println("修改时Parameter Name: " + entry.getKey() + ", Value: " + entry.getValue());
//        }
//
//        // 继续执行插入操作
//        return invocation.proceed();
//    }
//
//    @Override
//    public Object plugin(Object target) {
//        return Plugin.wrap(target, this);
//    }
//}
